Revocation techniques for Java concurrency
نویسندگان
چکیده
This paper proposes two approaches to managing concurrency in Java using a guarded region abstraction. Both approaches use revocation of such regions – the ability to undo their effects automatically and transparently. These new techniques alleviate many of the constraints that inhibit construction of transparently scalable and robust concurrent applications. The first solution, revocable monitors, augments existing mutual exclusion monitors with the ability to resolve priority inversion and deadlock dynamically, by reverting program execution to a consistent state when such situations are detected, while preserving Java semantics. The second technique, transactional monitors, extends the functionality of revocable monitors by implementing guarded regions as lightweight transactions that can be executed concurrently (or in parallel on multiprocessor platforms). The presentation includes discussion of design and implementation issues for both schemes, as well as a detailed performance study to compare their behavior with the traditional, state-of-the-art implementation of Java monitors based on mutual exclusion.
منابع مشابه
A method for verifying concurrent Java components based on an analysis of concurrency failures
The Java programming language supports concurrency. Concurrent programs are harder to verify than their sequential counterparts due to their inherent non-determinism and a number of specific concurrency problems, such as interference and deadlock. In previous work, we have developed the ConAn testing tool for the testing of concurrent Java components. ConAn has been found to be effective at tes...
متن کاملFinding Concurrency Bugs In Java
Because threads are a core feature of the Java language, the widespread adoption of Java has exposed a much wider audience to concurrency than previous languages have. Concurrent programs are notoriously difficult to write correctly, and many subtle bugs can result from incorrect use of threads and synchronization. Therefore, finding techniques to find concurrency bugs is an important problem. ...
متن کاملFormal Verification of Components in Java
Title: Formal Verification of Components in Java Author: Pavel Paŕızek email: [email protected] phone: +420 2 2191 4235 Department: Department of Software Engineering Faculty of Mathematics and Physics Charles University in Prague, Czech Republic Advisor: Prof. Frantǐsek Plášil email: [email protected] phone: +420 2 2191 4266 Mailing address (both Author and Advisor): Dept. of SW E...
متن کاملDoS-Resistant Attribute-Based Encryption in Mobile Cloud Computing with Revocation
Security and privacy are very important challenges for outsourced private data over cloud storages. By taking Attribute-Based Encryption (ABE) for Access Control (AC) purpose we use fine-grained AC over cloud storage. In this paper, we extend previous Ciphertext Policy ABE (CP-ABE) schemes especially for mobile and resource-constrained devices in a cloud computing environment in two aspects, a ...
متن کاملInterface-based Speciication and Veriication of Concurrency Controllers
We present a modular approach to speciication and veriication of concurrency controllers by decou-pling their behavior and interface speciications. The behavior speciication of a concurrency controller deenes how its shared variables change their values whereas the interface speciication deenes the order in which a client thread should call its methods. We show that the concurrency controllers ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Concurrency and Computation: Practice and Experience
دوره 18 شماره
صفحات -
تاریخ انتشار 2006